package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 题目标题业务对象 p_question_topic
 *
 * @author ruoyi
 * @date 2022-07-28
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("题目标题业务对象")
public class PQuestionTopicBo extends BaseEntity {

    /**
     *
     */
    @ApiModelProperty(value = "", required = true)
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 题目标题
     */
    @ApiModelProperty(value = "题目标题", required = true)
    @NotBlank(message = "题目标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String title;

    /**
     * 测评人数
     */
    @ApiModelProperty(value = "测评人数", required = true)
    private Long personNum;

    /**
     * 题目图片
     */
    @ApiModelProperty(value = "题目图片", required = true)
    @NotBlank(message = "题目图片不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pic;

    /**
     * 题目描述
     */
    @ApiModelProperty(value = "题目描述", required = true)
    @NotBlank(message = "题目描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String info;

    /**
     * 测试说明
     */
    @ApiModelProperty(value = "测试说明", required = true)
    @NotBlank(message = "测试说明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String testInstruction;

    @ApiModelProperty(value = "理论基础")
    private String testBasic;

    @ApiModelProperty(value = "评价须知")
    private String testEvaluate;

    @ApiModelProperty(value = "部分参考文献")
    private String testSection;

    @ApiModelProperty(value = "是否推荐 0 否 1 是")
    private String isRecommend;

    @ApiModelProperty(value = "测试价格")
    private BigDecimal price;

    @ApiModelProperty(value = "优惠价格")
    private BigDecimal newPrice;

    @ApiModelProperty(value = "测试类型 0 情感测试 1 性格测试 2 职场测试 3 心理测试")
    private String type;
}
